#ifndef __road_queue_h_
#define __road_queue_h_
#include "adevs/adevs.h"
#include "io_type.h"
#include "road_part.h"

class RoadQueue: public adevs::Digraph<io_type*> 
{
	public:
		/// Constructor.
		RoadQueue(int len, double delay);
		/// Destructor.
		~RoadQueue();
		/// Model input port.
		static const int in_arrive;
		static const int in_free;
		/// Model output port.
		static const int out_depart;
		static const int out_free;
		
		int get_denied_count();
	private:
		int length;
		RoadPart** parts;
};

#endif
